Project Name: Network Audio Client



Project Type:

    ADSP-BF533 [ ]

    ADSP-BF537 [X]

    ADSP-BF561 [ ]

    

Hardware Used:

    ADSP-BF537 EZ-KIT Lite 

    EZ-Home Plug Board (optional, see EE note for details)

    Intellon EDK5200 Evaluation Board (optional, see EE note for details)

Revision Information (tested on the following):
    VDSP++ 5.0 Update 2

    ADSP-BF537 EZ-KIT Lite revisions 1.1, 1.2 and 2.2
    ADSP-BF537 silicon revision 0.0, 0.1, 0.2, 0.3 

    

System Services Components Used:

    DMA Manager                         [X]   Deferred Callback Manager   [ ]

    Interrupt Manager                   [X]   Timer Module                [ ]

    Power Management Module             [X]   Flag Module                 [ ]

    External Bus Interface Unit Module  [X]   Port Module                 [X]

    

Example Overview:



This project implements a Networked Audio Client example which is intended to 
be used in conjunction with its companion Networked Audio Server Project.  The
projects may be used with Ethernet or HomePlug as the physical interface.  If
HomePlug is desired, please see the companion EE note for details.

The Server uses a fixed IP address of 192.168.1.10 and the Client uses a fixed
IP address of 192.168.1.11.

Audio is sampled by the Server in stereo at 48 KSPS from the AD1871 ADC and 
packetized into 256 sample UDP frames (1024 char payload).  The Client receives 
and stores nominally 2 frames (4 maximum), adjusts the SPORT output clock rate 
for flow control, and sends the audio out at 48 KSPS to the AD1854 DAC.





File  Structure:



    Main project File:      

        network audio client.dpj

                

    Source Files:            

        audio.c
        audioflow.c
        boot.c
        ExceptionHandler-BF537.asm
        keepalive.c
        queue.c
        tcpconfig.c

                

    Header Files:

        audio.h
        audioflow.h
        boot.h
        keepalive.h
        queue.h
        system.h
        tcpconfig.h







System Configuration:

    Jumpers and Switches: 
        SW1 > all OFF
        SW2 > all ON
        SW3 > all OFF
        SW4 > all ON
        SW5 > all ON
        SW6 > all ON
        SW7 > 1:ON, 2:ON, 3:ON, 4:ON, 5:ON, 6:OFF 7:OFF, 8:ON 
            (NOTE: this is different from the default and the server setting due
            to using Blackfin generated audio DAC clock)
        SW8 > 1:ON, 2:ON, 3:OFF, 4:OFF, 5:OFF, 6:OFF
        SW16 > position 1
        all jumpers set to default positions

    LEDs:
        LED 1 > set when audio thread starts
        LED 2 > toggles when "keep alive" message sent to server
        LED 3 > not used
        LED 4 > set when audio flow control is active, cleared when not active
        LED 5 > toggles when audio data sent to DAC
        LED 6 > toggles when audio data received from network
        


External connections:     

    Audio speakers or headphones connected to "line out"
    EZ-HomePlug or wiring harness connected to J3 (if using HomePlug)  
    Ethernet crossover cable attached to Ethernet port (if using Ethernet)





Configuring the program:



    In system.h:
        Ethernet/HomePlug Selection - #define for Intellon INT5200 HomePlug PHY, #undef for SMSC PHY
            #define PHY_INT5200

        Debug Print Messages to Console Window - #define to enable, #undef to disable
            #define DEBUG_PRINT_ENABLE


Running the example:

    Choose one EZ-Kit to be the server and the other to be the client.  Labeling them
        as such is a good idea.
    If using Ethernet, connect Ethernet ports of EZ-KIT Lite boards with cross-over 
        cable or standard Ethernet cables and a router.
    If using HomePlug, connect EDK5200 boards to J3 of the EZ-KIT Lite boards and plug 
        into wall socket Do not use surge protected power strip as this will interfere 
        with the HomePlug signal.
    Connect line out of audio source to line in of the server.
    Connect line out of the client to speakers.
    Program server flash with "network audio server.ldr" or use emulator to load 
        "network audio server.dxe".
    Program client flash with "network audio client.ldr" or use emulator to load 
        "network audio client.dxe".
    Run Server and Client if using emulators or hit board reset if using flash load.
        Order of start does not matter.
    Start audio source and turn on speakers.
    Audio should be passing from the source, through the network, to the speakers.



